#ifndef __MP_HTTP_REQUEST_H__
#define __MP_HTTP_REQUEST_H__

#include "http_base.h"

namespace Gazella {
class HttpRequest: public HttpBase {
public:
    HttpRequest();
    ~HttpRequest();

    std::string build() override;
    int         parse(std::string& payload) override;

    pair_value temp_header;

private:
    int __on_http_url(http_parser *parser, const char *at, size_t length);
    int __on_http_body(http_parser *parser, const char *at, size_t length);
    int __on_header_field(http_parser *parser, const char *at, size_t length);
    int __on_header_value(http_parser *parser, const char *at, size_t length);
};
}

#endif